package cn.edu.sdu.sduhour.controller;

import cn.edu.sdu.sduhour.entity.Achivements;
import cn.edu.sdu.sduhour.mapper.AchivementsMapper;
import org.apache.ibatis.annotations.Delete;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

@RestController
@RequestMapping("/ach")
public class AchivementsController {
    @Resource
    AchivementsMapper achivementsMapper;

    //获得所有的成就
    /*传入：String openid;*/
    @PostMapping("/all")
    public List<Achivements> findAll(@RequestBody Achivements achivements) {
        return achivementsMapper.findAll(achivements);
    }

    //获得显性成就
    /*传入：String openid;*/
    @PostMapping("/dom")
    public List<Achivements> findDominant(@RequestBody Achivements achivements) {
        return achivementsMapper.findDominant(achivements);
    }

    //获得隐性成就
    /*传入：String openid;*/
    @PostMapping("/rec")
    public List<Achivements> findRecessive(@RequestBody Achivements achivements) {
        return achivementsMapper.findRecessive(achivements);
    }

    //增加成就
    /*传入：String openid;*/
    @PostMapping("/add")
    public List<Achivements> addOne(@RequestBody Achivements achivements) {
        achivementsMapper.addOne(achivements);
        return achivementsMapper.findAll(achivements);
    }

    //修改成就
    /*传入：
    * String changeName;
    * String openid;*/
    @PostMapping("/set")
    public List<Achivements> setOne(@RequestBody Achivements achivements) {
        achivementsMapper.changeOne(achivements);
        return achivementsMapper.findAll(achivements);
    }

    //删除成就（管理员）
    /*传入：int id;*/
    @DeleteMapping("/del")
    public String delOne(@RequestBody Achivements achivements) {
        achivementsMapper.delOne(achivements);
        return "success";
    }
}
